home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / cpu / z8000 / z8000.h < prev    next >
C/C++ Source or Header  |  1999-04-03  |  2KB  |  53 lines

  1. #ifndef Z8K_H
  2.  
  3. #include "osd_cpu.h"
  4.  
  5. enum {
  6.     Z8000_PC=1, Z8000_NSP, Z8000_FCW, Z8000_PSAP, Z8000_REFRESH,
  7.     Z8000_IRQ_REQ, Z8000_IRQ_SRV, Z8000_IRQ_VEC,
  8.     Z8000_R0, Z8000_R1, Z8000_R2, Z8000_R3,
  9.     Z8000_R4, Z8000_R5, Z8000_R6, Z8000_R7,
  10.     Z8000_R8, Z8000_R9, Z8000_R10, Z8000_R11,
  11.     Z8000_R12, Z8000_R13, Z8000_R14, Z8000_R15,
  12.     Z8000_NMI_STATE, Z8000_NVI_STATE, Z8000_VI_STATE };
  13.  
  14. /* Interrupt Types that can be generated by outside sources */
  15. #define Z8000_TRAP        0x4000    /* internal trap */
  16. #define Z8000_NMI        0x2000    /* non maskable interrupt */
  17. #define Z8000_SEGTRAP    0x1000    /* segment trap (Z8001) */
  18. #define Z8000_NVI        0x0800    /* non vectored interrupt */
  19. #define Z8000_VI        0x0400    /* vectored interrupt (LSB is vector)  */
  20. #define Z8000_SYSCALL    0x0200    /* system call (lsb is vector) */
  21. #define Z8000_HALT        0x0100    /* halted flag    */
  22. #define Z8000_INT_NONE  0x0000
  23.  
  24. /* PUBLIC FUNCTIONS */
  25. extern unsigned z8000_get_context(void *dst);
  26. extern void z8000_set_context(void *src);
  27. extern unsigned z8000_get_pc(void);
  28. extern void z8000_set_pc(unsigned val);
  29. extern unsigned z8000_get_sp(void);
  30. extern void z8000_set_sp(unsigned val);
  31. extern unsigned z8000_get_reg(int regnum);
  32. extern void z8000_set_reg(int regnum, unsigned val);
  33. extern void z8000_reset(void *param);
  34. extern void z8000_exit(void);
  35. extern int    z8000_execute(int cycles);
  36. extern void z8000_set_nmi_line(int state);
  37. extern void z8000_set_irq_line(int irqline, int state);
  38. extern void z8000_set_irq_callback(int (*callback)(int irqline));
  39. extern const char *z8000_info(void *context, int regnum);
  40. extern unsigned z8000_dasm(char *buffer, unsigned pc);
  41.  
  42. extern void z8000_State_Save(int cpunum, void *f);
  43. extern void z8000_State_Load(int cpunum, void *f);
  44.  
  45. /* PUBLIC GLOBALS */
  46. extern int z8000_ICount;
  47.  
  48. #ifdef MAME_DEBUG
  49. extern int DasmZ8000(char *buff, int pc);
  50. #endif
  51.  
  52. #endif /* Z8K_H */
  53.